// 1.普通函数
function fun1 () {
    console.log(123)
}
fun1() // 123


// 2.接收一个参数的函数
function fun2 (name) {
    console.log(name)
}
fun2('薰悟空') // 薰悟空


// 3.接收一个参数的函数，与2不同的是这个参数是一个函数（fn），fn没有参数
function fun3 (fn) {
    console.log('执行fun3')
    fn()
}
fun3(function () {
    console.log('执行fun3的参数：fn')
}) // 执行fun3   执行fun3的参数：fn


// 4.接收一个参数的函数，与2不同的是这个参数是一个函数（fn），fn有参数
function fun4(fn) {
    console.log('执行fun4')
    fn(10)
}
fun4(function (params) {
    console.log('执行fun4的参数')
    console.log(params, 'params 是fun4的参数的参数')
}) // 执行fun4   执行fun4的参数   10，params 是fun4的参数的参数
